/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jogo.Entidade;

import java.awt.Color;
import jogo.Elemento;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import jogo.sprite.Sprite;

/**
 *
 * @author Glauco
 */
public class Asteroide extends AsteroidMovimento {

    private Sprite e;
    private boolean vivo;
    private double gravidade;
    private Rectangle campoGravi;

    public Asteroide() {
        super(1, 1, 1, 1, 1);
        super.setMovimento(false);
        CalculaCampoGravitacional();

        gravidade = 1.5;
    }

    public Asteroide(Sprite e, int sx, int sy, int r, double dx, double dy) {
        super(sx, sy, r, dx, dy);
        this.e = e;
        e.vivo = true;
        super.setMovimento(false);
        gravidade = 1.5;
        CalculaCampoGravitacional();

    }

    public void CalculaCampoGravitacional() {
        campoGravi = new Rectangle((int) (super.getCX() - (super.getR() * getGravidade())), (int) (super.getCY() - (super.getR() * getGravidade())), (int) (2 * (super.getR() * getGravidade())), (int) (2 * (super.getR() * getGravidade())));
    }

    public Sprite getE() {
        return e;
    }

    public void setE(Sprite e) {
        this.e = e;
    }

    @Override
    public void desenhar(Graphics2D g) {
        e.upDate(g, super.getX(), super.getY(), System.currentTimeMillis());
        vivo = e.vivo;

        g.setColor(Color.BLUE);
        g.drawOval(campoGravi.x, campoGravi.y,
                campoGravi.width, campoGravi.height);
        g.setColor(Color.BLACK);
    }

    /**
     * @return the gravidade
     */
    public double getGravidade() {
        return gravidade;
    }

    /**
     * @param gravidade the gravidade to set
     */
    public void setGravidade(double gravidade) {
        this.gravidade = gravidade;
    }

    public double getRGravitacional() {
        return campoGravi.width / 2;
    }
}
